﻿using System;

#if NET35
namespace Kernelx.Common.DataAnnotations
{

    /// <summary>
    /// 
    /// </summary>
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
    public sealed class DisplayAttribute : Attribute
    {
        /// <summary>
        /// 
        /// </summary>
        public bool AutoGenerateField { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public bool AutoGenerateFilter { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string Description { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string GroupName { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public int Order { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string Prompt { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public Type ResourceType { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string ShortName { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public DisplayAttribute()
        {
        }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public bool GetAutoGenerateField()
        {
            return AutoGenerateField;
        }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public bool GetAutoGenerateFilter()
        {
            return AutoGenerateFilter;
        }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public string GetDescription()
        {
            return Description;
        }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public string GetGroupName()
        {
            return GroupName;
        }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public string GetName()
        {
            return Name;
        }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public int GetOrder()
        {
            return Order;
        }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public string GetPrompt()
        {
            return Prompt;
        }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public string GetShortName()
        {
            return ShortName;
        }
    }
}
#endif
